Необязательные параметры в репозиториях Spring Data

Все кто использовал Spring Data сталкивались с ситуацией, когда у вас есть репозиторий для работы с сущностью и вы хотите написать универсальный find-метод для поиска по набору параметров, которые пользователь может задать или пропустить на форме поиска. Базовая реализация find методов в Spring Data находит сущности только с учетом всех параметров, не позволяя искать по ограниченному набору. Я нашел способ решить эту проблему и создал OpenSource библиотеку для быстрого использования в других проектах.

Чтобы понять проблемы, представим что мы создаем простое приложение- записную книжку, в котором определили сущность- Person с полями id, firstName, lastName, phoneNumber.

Person.java

@Entity @Data @AllArgsConstructor @NoArgsConstructor @EqualsAndHashCode(of = "id") public class Person {     @Id     private Long id;     private String firstName;     private String lastName;     private String phoneNumber; } 

Допустим мы должны обеспечить поиск





Читать далее